신혜선

- 무슨말인지 하나도 몰랐어요

- 요즘 학생들이 많이 쓰는 말인것은 알겠음

- 멈춰까지 유행어였음!! (몰랐어요, 댓글보고 알았음)

멈춰?

Step1: 멈춰의 원조: 학교폭력, 멈춰~

Step2: 갑자기 뒤늦게 재미있음 $\to$ 밈화

- ㅇㅇㅇ, 멈춰~~~!로 따라하기 시작함

  • 코스피하락, 멈춰~
  • 세균, 멈춰~
  • 수강신청 매크로, 멈춰~

밈이란 무엇인가?

- 밈이란? 복제가능한 something

  • 이기적 유전자에서 제시한 개념
  • 유전자는 (1) 복제 (2) 변형되면서 전파되는 속성이 있다는 사실을 관찰
  • 종교, 사상, 이념도 유전자처럼 (1) 복제 (2) 변형되면서 전파되더라..
  • 밈 = 유전자의 일반화된 개념 = 복제가능한 something

밈을 컨텐츠화하여 보자.

- 예제1: 원본

print("학교폭력")
학교폭력
from PIL import Image
display(Image.open('2022-01-02-stop1.jpeg'))
print("멈춰~~~~~")
멈춰~~~~~

- 예제2: 코스피하락

print("코스피하락,")
코스피하락,
display(Image.open('2022-01-02-stop1.jpeg'))
print("멈춰~~~~~")
멈춰~~~~~

- 예제3: 수강신청 매크로 멈춰

print("수강신청 매크로,")
수강신청 매크로,
display(Image.open('2022-01-02-stop1.jpeg'))
print("멈춰~~~~~")
멈춰~~~~~

코드의 정리

- 정리해보자.

start = "학교폭력" 
img = '2022-01-02-stop1.jpeg'
end = "멈춰~~~~~~~" 
def memeshow(start, img, end):
    print(start) 
    display(Image.open(img))
    print(end)

- 예제1을 재생성

memeshow(start,img,end)
학교폭력
멈춰~~~~~~~

- 예제2를 재생성

start = "코스피 하락," 
memeshow(start,img,end)
코스피 하락,
멈춰~~~~~~~

- 예제3의 재생성

start = "수강신청 매크로," 
memeshow(start,img,end)
수강신청 매크로,
멈춰~~~~~~~

클래스가 없다면?

- 코드를 정리하다 보니까 살짝 비효율적인 느낌이 있음

  • major: 여러개의 콘텐츠를 동시에 관리하기가 힘들다.
  • minor: start, img, end와 같은 변수들이 정리가 되어있지 않고 산만한 느낌이 든다.

부장님: 예제1을 생성하라

start = "학교폭력, " 
memeshow(start,img,end)
학교폭력, 
멈춰~~~~~~~

부장님: 예제2를 생성하라.

start = "코스피하락,"
memeshow(start,img,end)
코스피하락,
멈춰~~~~~~~

부장님: 예제2에서 멈춰~ㅠㅠ 로 바꿔봐라. 좀 더 간절함이 느껴지도록..

end = "멈춰~~~ㅠㅠ"
memeshow(start,img,end)
코스피하락,
멈춰~~~ㅠㅠ

부장님: OK 다시 예제1로 가봐

start = "학교폭력,"
memeshow(start,img,end)
학교폭력,
멈춰~~~ㅠㅠ

부장님: 아니, 멈춰는 그대로 해야지. 여기서 우니까 애들이 더 괴롭힐것 같잖아

end = " 멈춰~~~~" 
memeshow(start,img,end)
학교폭력,
 멈춰~~~~

부장님: OK. 이제 이미지를 바꿔보자 신혜선 나오는것 어떰? 내가 신혜선 좋아함.

img = '2022-01-02-stop2.png' 
memeshow(start,img,end)
학교폭력,
 멈춰~~~~

부장님: 좋다. 이제 2개의 컨텐츠를 동시에 보여봐. 점검을 해보자.

(예제1)

start= "학교폭력,"
img = "2022-01-02-stop2.png"
end = "멈춰~~~~" 
memeshow(start,img,end)
학교폭력,
멈춰~~~~

(예제2)

start= "코스피하락,"
img = "2022-01-02-stop1.jpeg"
end = "멈춰~~ㅜㅜ" 
memeshow(start,img,end)
코스피하락,
멈춰~~ㅜㅜ

클래스의 활용

- 클래스가 없다면? 살짝 비효율적인 느낌이 있음

  • major: 여러개의 콘텐츠를 동시에 관리하기가 힘들다. (예제1, 예제2 동시에 관리하니까 힘들었어요)
  • minor: start, img, end와 같은 변수들이 정리가 되어있지 않고 산만한 느낌이 든다.

- HWP를 켜서 부장님의 지시를 수행했다면?

  • 부장님의 공통 지시사항을 추린다. (start, img, end와 같은 요소가 필요하고 그림을 삽입하는 기술도 필요하겠음)
  • 소스가 되는 hwp파일을 하나 만든다. 복사를 위한 틀이다. 파일이름은 KBS.HWP라고 하자.
  • KBS.HWP파일을 복사 $\to$ stop1.hwp, stop2.hwp 파일을 만든다. 그리고 부장님이 지시사항이 있을때마다 stop1.hwp, stop2.hwp의 내용을 각각 수정한다.

- 단점이 극복될까요?

  • major: 여러개의 콘텐츠를 동시에 관리하기가 힘들다. $\to$ 샘플파일과 각각의 복사본을 나누어서 독립적으로 관리하므로 이 문제는 해결
  • minor: start, img, end와 같은 변수들이 정리가 되어있지 않고 산만한 느낌이 든다. $\to$ stop1.hwp, stop2.hwp와 같은파일안에 내용이 있으므로 산만하지 않음.

- 방금 말한 HWP와 같은 방식을 코딩에 적용해보자.

class KBSHWP: 
    start = '학교폭력,' 
    img = '2022-01-02-stop1.jpeg'
    end = '멈춰~~~~' 
    def memeshow(self): ## 규칙1: class안에 정의된 함수의 첫번째 인자는 무조건 self 
        print(self.start) ## 규칙2: class안에 정의된 변수를 쓰려면 self.변수이름 과 같은 형식으로 써야함 
        display(Image.open(self.img)) # 규칙2 적용
        print(self.end) # 규칙2 적용 

부장님: 예제1을 생성하라

부장님: 예제2를 생성하라.

부장님: 예제2에서 멈춰~ㅠㅠ 로 바꿔봐라. 좀 더 간절함이 느껴지도록..

부장님: OK 다시 예제1로 가봐

부장님: 아니, 멈춰는 그대로 해야지. 여기서 우니까 애들이 더 괴롭힐것 같잖아

부장님: OK. 이제 이미지를 바꿔보자 신혜선 나오는것 어떰? 내가 신혜선 좋아함.

부장님: 좋다. 이제 2개의 컨텐츠를 동시에 보여봐. 점검을 해보자.